package cn.heyige.backend.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(description = "时间起卦请求V2")
public class TimeDivinationRequestV2 {
    
    @NotBlank(message = "占卜问题不能为空")
    @Size(max = 200, message = "占卜问题不能超过200字符")
    @Schema(description = "占卜问题", example = "今日运势如何？")
    private String question;
    
    @Schema(description = "是否使用当前时间", example = "true")
    private Boolean useCurrentTime = true;
    
    @Schema(description = "指定的占卜时间")
    private LocalDateTime divinationTime;
    
    @Schema(description = "算法类型", allowableValues = {"TRADITIONAL", "MODERN"}, example = "TRADITIONAL")
    private String algorithm = "TRADITIONAL";
}